<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"            
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/pages/core/plantilla/plantillaPrincipal.xhtml">
        <ui:define name="contenido">             
            <h:form onsubmit="return checkSubmit();"  id="frmPrincipal">    
                <p:panel id="pnPosibPost" header="#{i18n['contrato.lista.por.contratar.titulo']}" style="#{applicationMBean.estiloTitulo}">
                    <h:panelGrid id="pgFormFilter" columns="10" cellpadding="4">                       

                        <h:outputLabel styleClass="label" value="#{i18n['persona.label.tipo_documento']}"/>                    
                        <p:selectOneMenu value="#{contratoMBean.dtoPersonFiltro.tipoDocumentoDto}"  converter="parametroConvert"                             
                                         style="#{applicationMBean.estiloObligatorio}">
                            <f:selectItems value="#{contratoMBean.listaTipoDoc}" var="parametroDto" itemLabel="#{parametroDto.descripcion}" itemValue="#{parametroDto}" />                        
                        </p:selectOneMenu>

                        <h:outputLabel value="#{i18n['persona.label.numero_documento']}" styleClass="label"/>
                        <p:inputText label="#{i18n['ppersona.label.numero_documento']}"  onkeypress="return fn_validaTecla('alfanumerico',this)"
                                     value="#{contratoMBean.dtoPersonFiltro.numeroDocumento}"                                      
                                     size="20" styleClass="txtCampo">
                            <f:validateLength maximum="100" minimum="0" />
                        </p:inputText>

                        <h:outputLabel value="#{i18n['persona.label.nombre_completo']}" styleClass="label"/>
                        <p:inputText label="#{i18n['persona.label.nombre_completo']}"  onkeypress="return fn_validaTecla('alfanumericoypuntoyblanco',this)"
                                     value="#{contratoMBean.dtoPersonFiltro.nombreCompleto}"                                      
                                     size="50" styleClass="txtCampo">
                            <f:validateLength maximum="100" minimum="0" />
                        </p:inputText>

                        <h:outputLabel styleClass="label" value="#{i18n['persona.label.sexo']}"/>                    
                        <p:selectOneMenu value="#{contratoMBean.dtoPersonFiltro.sexoDto}"  converter="parametroConvert"                           
                                         style="#{applicationMBean.estiloObligatorio}">
                            <f:selectItems value="#{contratoMBean.listaSexo}" var="parametroDto" itemLabel="#{parametroDto.descripcion}" itemValue="#{parametroDto}" />                        
                        </p:selectOneMenu>

                        <h:outputLabel styleClass="label" value="#{i18n['contrato.label.sede']}"/>                    
                        <p:selectOneMenu value="#{contratoMBean.dtoReqFiltro.sedeDto}"  converter="parametroConvert"                             
                                         style="#{applicationMBean.estiloObligatorio}">
                            <f:selectItems value="#{contratoMBean.listaSedesFiltro}" var="parametroDto" itemLabel="#{parametroDto.descripcion}" itemValue="#{parametroDto}" />                        
                        </p:selectOneMenu>

                        <h:outputLabel styleClass="label" value="#{i18n['contrato.label.mod_contratacion']}"/>                    
                        <p:selectOneMenu value="#{contratoMBean.dtoReqFiltro.modalidadContratacionDto}"  converter="parametroConvert"                            
                                         style="#{applicationMBean.estiloObligatorio}">
                            <f:selectItems value="#{contratoMBean.listaModContratacionFiltro}" var="parametroDto" itemLabel="#{parametroDto.descripcion}" itemValue="#{parametroDto}" />                        
                        </p:selectOneMenu>

                        <p:spacer width="10" />
                        <p:commandButton icon="ui-icon ui-icon-search" title="#{i18n['general.button.buscar.filtro.tip']}" accesskey="#{applicationMBean.keyBuscar}"
                                         value="#{i18n['general.button.buscar.filtro']}" ajax="false" 
                                         style="#{applicationMBean.cssBotonBusqueda}"
                                         actionListener="#{contratoMBean.buscarPostPorContratar}">
                            <f:ajax  render="pnlTabla pgFormFilter"/>
                        </p:commandButton>  
                        <p:spacer width="10" />
                        <h:outputText  value="#{contratoMBean.listaPostPorContratarDto.size()} #{i18n['form.general.mensaje.cantidad.encontrada']}" styleClass="mensaje" rendered="#{contratoMBean.listaPostPorContratarDto!=null}"/>       
                    </h:panelGrid>
                </p:panel>
                <p:spacer height="10px"/>
                <p:panel id="pnlTabla" header="#{i18n['contrato.panel.titulo.busqueda.por.contratar']}" style="#{applicationMBean.estiloTitulo}">
                    <h:panelGrid columns="1">
                        <p:dataTable id="tblPrincipal" value="#{contratoMBean.listaPostPorContratarDto}" var="dto"
                                     selectionMode="single" rowKey="#{dto.id}"
                                     emptyMessage="#{i18n['form.general.mensaje.no.registros']}" styleClass="estiloPanel"                              
                                     paginator="true" rows="#{sessionMBean.cantidadRegistros}"  widgetVar="widTable">                        
                            <p:column style="text-align:center;">
                                <h:panelGrid id="pgBotonesGrilla" columns="10" cellspacing="10" styleClass="estiloPanelGrid">
                                    <p:commandButton icon="ui-icon ui-icon-document" title="#{i18n['contrato.button.generar_contrato']}"
                                                     action="#{contratoMBean.NuevoContrato}" ajax="false">
                                        <f:setPropertyActionListener value="#{dto}" target="#{contratoMBean.postulanteDto}" />                                                                    
                                    </p:commandButton>
                                </h:panelGrid>
                            </p:column>
                            <p:column headerText="#{i18n['general.label.id']}"  style="text-align:center;">
                                <h:outputText value="#{dto.id}" styleClass="txtCampo" />
                            </p:column>
                            <p:column headerText="#{i18n['postulante.label.estado']}"  style="text-align:center;">
                                <h:outputText value="#{dto.estadoDto.descripcion}" styleClass="txtCampo" />
                            </p:column>
                            <p:column headerText="#{i18n['postulante.label.nombre_completo']}">
                                <h:outputText value="#{dto.personaDto.nombreCompleto}" styleClass="txtCampo" />
                            </p:column>
                            <p:column headerText="#{i18n['postulante.label.doc_ident']}">
                                <h:outputText value="#{dto.personaDto.tipoDocumentoDto.descripcion}" styleClass="txtCampo" />
                            </p:column>
                            <p:column headerText="#{i18n['postulante.label.estado_civil']}" >
                                <h:outputText value="#{dto.personaDto.estadoCivilDto.descripcion}" styleClass="txtCampo" />
                            </p:column>   

                            <p:column style="text-align:left;">
                                <f:facet name="header">
                                    <h:outputText value="#{i18n['postulante.label.fecha_nac']}" />
                                </f:facet>
                                <h:outputText value="#{dto.personaDto.fechaNacimiento}" styleClass="txtCampo" >
                                    <f:convertDateTime pattern="#{applicationMBean.formatoFecha}"  timeZone="#{applicationMBean.timeZone}"/> 
                                </h:outputText>                                
                            </p:column>
                            <p:column headerText="#{i18n['postulante.label.direccion']}" >

                            </p:column>  
                            <p:column headerText="#{i18n['postulante.label.profesion']}">
                                <h:outputText value="#{dto.personaDto.profPrincipalDto.descripcion}" styleClass="txtCampo" />
                            </p:column>  
                            <p:column headerText="#{i18n['postulante.label.nota_final']}" >
                                <h:outputText value="#{dto.notaFinal}" styleClass="txtCampo" >
                                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                                </h:outputText>
                            </p:column>  
                            <p:column headerText="#{i18n['postulante.label.puesto']}" >
                                <h:outputText value="#{dto.requerimientoDto.puestoDto.descripcion}" styleClass="txtCampo" />
                            </p:column>  

                            <p:column headerText="#{i18n['postulante.label.agencia']}" >
                                <h:outputText value="#{dto.requerimientoDto.sedeDto.descripcion}" styleClass="txtCampo" />
                            </p:column>                          
                            <p:column headerText="#{i18n['postulante.label.r_cargo']}" >
                                <h:outputText value="#{dto.requerimientoDto.sueldo}" styleClass="txtCampo" />
                            </p:column> 

                        </p:dataTable>
                    </h:panelGrid>
                </p:panel>
            </h:form>

        </ui:define>
    </ui:composition>
</html>
